package com.cinc.ebc.sd.vo;

import com.cinc.ebc.sd.entity.SdDispatchNoticeDetail;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.List;

/**
 * @Description: 发货通知
 * @Author: jeecg-boot
 * @Date:   2022-09-25
 * @Version: V1.0
 */
@Data
@ApiModel(value="sd_dispatch_noticePage对象", description="发货通知")
public class SdDispatchNoticePage {

	/**主键*/
	@ApiModelProperty(value = "主键")
    private java.lang.String id;
	/**通知单号*/
	@Excel(name = "通知单号", width = 15)
	@ApiModelProperty(value = "通知单号")
    private java.lang.String noticeNo;
	/**单据日期*/
	@Excel(name = "单据日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
	@ApiModelProperty(value = "单据日期")
    private java.util.Date billDate;
	/**合同ID*/
	@Excel(name = "合同ID", width = 15)
	@ApiModelProperty(value = "合同ID")
    private java.lang.String contractId;
	/**合同号*/
	@Excel(name = "合同号", width = 15)
	@ApiModelProperty(value = "合同号")
    private java.lang.String contractNo;
	/**项目*/
	@Excel(name = "项目", width = 15, dictTable = "quote_project", dicText = "project_name", dicCode = "id")
    @Dict(dictTable = "quote_project", dicText = "project_name", dicCode = "id")
	@ApiModelProperty(value = "项目")
    private java.lang.String projectId;
	/**客户*/
	@Excel(name = "客户", width = 15, dictTable = "mdm_customer", dicText = "cust_full_name", dicCode = "id")
    @Dict(dictTable = "mdm_customer", dicText = "cust_full_name", dicCode = "id")
	@ApiModelProperty(value = "客户")
    private java.lang.String customerId;
	/**终端客户*/
	@Excel(name = "终端客户", width = 15)
	@ApiModelProperty(value = "终端客户")
    private java.lang.String customerEnd;
	/**发货地址*/
	@Excel(name = "发货地址", width = 15)
	@ApiModelProperty(value = "发货地址")
    private java.lang.String dispatchAddress;
	/**接收人*/
	@Excel(name = "接收人", width = 15)
	@ApiModelProperty(value = "接收人")
    private java.lang.String receiveMan;
	/**运输方式*/
	@Excel(name = "运输方式", width = 15, dicCode = "sd_transport_type")
    @Dict(dicCode = "sd_transport_type")
	@ApiModelProperty(value = "运输方式")
    private java.lang.String transportType;
	/**发货说明*/
	@Excel(name = "发货说明", width = 15)
	@ApiModelProperty(value = "发货说明")
    private java.lang.String dispatchNote;
	/**销售员*/
	@Excel(name = "销售员", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
	@ApiModelProperty(value = "销售员")
    private java.lang.String salesman;
	/**销售部门*/
	@Excel(name = "销售部门", width = 15)
	@ApiModelProperty(value = "销售部门")
    private java.lang.String salesDept;
	/**发货类型*/
	@Excel(name = "发货类型", width = 15, dicCode = "sd_dispatch_type")
    @Dict(dicCode = "sd_dispatch_type")
	@ApiModelProperty(value = "发货类型")
    private java.lang.String dispatchType;
	/**发货状态*/
	@Excel(name = "发货状态", width = 15, dicCode = "sd_dispatch_notice_status")
    @Dict(dicCode = "sd_dispatch_notice_status")
	@ApiModelProperty(value = "发货状态")
    private java.lang.String status;
	/**销售订单ID*/
	@Excel(name = "销售订单ID", width = 15)
	@ApiModelProperty(value = "销售订单ID")
    private java.lang.String salesOrderId;
	/**销售订单号*/
	@Excel(name = "销售订单号", width = 15)
	@ApiModelProperty(value = "销售订单号")
    private java.lang.String salesOrderNo;
	/**创建人*/
	@ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
	@ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
	/**更新人*/
	@ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
	@ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
	/**所属部门*/
	@ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
	/**租户ID*/
	@Excel(name = "租户ID", width = 15)
	@ApiModelProperty(value = "租户ID")
    private java.lang.String tenantId;

	@ExcelCollection(name="发货明细")
	@ApiModelProperty(value = "发货明细")
	private List<SdDispatchNoticeDetail> sdDispatchNoticeDetailList;

}
